import java.awt.Graphics;
import java.awt.Point;

public class PontosLigacao extends Desenhavel implements ISelecaoListener {

	/**
	 * @uml.property name="retanguloSelecao"
	 * @uml.associationEnd inverse="selecao:Retangulo"
	 */
	private Identificador identificador;
	/**
	 */

	private Retangulo retanguloEnvolvente;

	private Selecionado selecionado = Selecionado.FALSE;

	private Conetor ponto;

	public PontosLigacao(Identificador identificador, Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;
		this.identificador = identificador;
		this.retanguloEnvolvente.setSelecaoListener(this);
		construirSelecao();
	}

	public void setRetanguloEnvolvente(Retangulo retanguloEnvolvente) {
		this.retanguloEnvolvente = retanguloEnvolvente;

	}

	public void construirSelecao() {
		this.ponto = new Conetor(identificador, retanguloEnvolvente);

	}

	public void setSelecionado(Selecionado selecionado) {
		this.selecionado = selecionado;
	}

	public Selecionado getSelecionado() {
		return selecionado;
	}

	public Identificador getIdentificador() {
		return identificador;
	}

	public void setIdentificador(Identificador identificador) {
		this.identificador = identificador;
	}

	public Retangulo getRetanguloEnvolvente() {
		return retanguloEnvolvente;
	}

	public SelecaoTipo getSelecaoTipo() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void selecaoAlterada() {
		// TODO Auto-generated method stub
		construirSelecao();
	}

	@Override
	public void desenhar(Graphics graphics) {
		// TODO Auto-generated method stub
	}

	public Point contem(Coordenada coordenada) {
		// TODO Auto-generated method stub	
		return this.ponto.contem(identificador, coordenada);
	}

	public boolean contains(Identificador identificador) {
		// TODO Auto-generated method stub
		return this.identificador == identificador;
	}




}
